/*
 * Comparison.h
 *
 *  Created on: Dec 5, 2013
 *      Author: thanhkm
 */

#ifndef COMPARISON_H_
#define COMPARISON_H_

#include <iostream>
#include <opencv2/opencv.hpp>
#include "opencv2/core/core.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/nonfree/features2d.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/nonfree/nonfree.hpp"
#include "math.h"

using namespace cv;
using namespace std;

#define PI 3.1415926535

class Comparison {
	int hessianThreshold;
	float distanceMatched;
	float angleThreshold;
public:
	Comparison();
	virtual ~Comparison();
	int compareSurf(cv::Mat, cv::Mat);
	int compareSift(cv::Mat, cv::Mat);

	// normalise an vector
	Point2f normalise( Point2f);
	//return angle of an vector
	// in degree
	float getAngle(Point2f);
	// calculate angle of two vector
	float getAngle(Point2f, Point2f);

	//set hessianThreshold
	void setHessianThreshold(int);
	//set distance
	void setDistanceMatched(float);
	//set angleThreshold
	void setAngleThreshold(float);
};

#endif /* COMPARISON_H_ */
